home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 12
/
Mac Magazin and MacEasy Magazine CD - Issue 12.iso
/
Sharewarebibliothek
/
Anwendungen
/
Text
/
PlainText16 Folder
/
PlainText Worksheet
< prev
Wrap
Text File
|
1995-07-11
|
36KB
|
688 lines
;----------------------------------------------------------------------------
; Worksheet
;
; Use this window as a scratch pad for keeping notes and as a space for
; temporary and intermediate work. Its contents are saved between launches
; of the PlainText program. If you don’t like the idea of having a Worksheet
; that is always open, select the “No Worksheet” option in the Edit Menu.
;
; Mel Park, Memphis, Tennessee
;----------------------------------------------------------------------------
This is the documentation for version 1.6 of PlainText. Be sure to read
the section ‘Fat Binary’ that appears later in this document.
You should make a copy of this file and save it somewhere with a different
name. One way of doing this is to select the “Save a Copy” item from the
File Menu. Name the copy “Original PlainText Worksheet” or some such.
File Menu
This is standard Mac stuff. PlainText will open any text file. Printing is
pretty ordinary. There is no way to change print margins or lines per page.
A short vertical line appears at the top of every text window which indicates
the recommended right margin. Text wrapped to this width will be centered on
the printed page. PlainText prints the page number at the bottom of every page.
If you hold the option key down while selecting the Open menu item, then
all files, not just text files, are displayed and can be opened. Files opened
in this way are read only. You can copy data from them to the clipboard but
not change them in any way.
The “Save” menu item is activated when a file has been changed by adding or
removing characters. The term “dirty” is commonly used to describe text files
in this state. Non-editing changes, such as changing the font or adding a mark
do not dirty a file. However, all such changes, even scroll position and
selection range, are always saved to disk when you close a file. So, don’t be
surprised by disk activity when you close a file in which you have made no text
changes.
The “Save” menu item is also active when a non-PlainText file is opened and
that file does not contain the resource that PlainText, and many other
Macintosh text editors, use to store window size, selection, and several other
parameters. Selecting “Save” will cause that resource to be created.
Edit Menu
The Undo function provides the one level of undo that you expect with a
Macintosh application. Likewise the Cut, Copy, Paste, and Clear routines work
in the standard Macintosh fashion. However, their action can be changed by the
“Edit Columns” menu item. Clicking on this item toggles column editing on or
off. Column editing is only allowed when a fixed font such as Monaco or Courier
is in use. The “Edit Columns” menu item is not even enabled when a proportional
font is being used.
With column editing enabled, cutting and clearing text operates on every
line in the text file, cutting or clearing a vertical column of characters
corresponding to the selection range. This column is shown by a rectanglar
dotted outline. Note that this column selection range disappears when the
normal selection range extends across more than one line. Column pasting will
insert the columns contained in the clipboard into every line, along the
vertical column indicated by the selection range.
“Shift Right” and “Shift Left” add or remove one tab on each line or,
when word wrap is on, each paragraph within the selection region. At the
same time, it converts all space runs to the corresponding number of tabs.
“Align” aligns all subsequent lines to the first line in the selection
region.
“No Worksheet” will close the worksheet window and set PlainText to not
open a worksheet window in the future. It is reversed by the “Use Worksheet”
menu item which becomes an option when there is no worksheet. When in the
No-Worksheet mode, PlainText will open a blank untitled window, like most Mac
applications, when lauched. The Format dialog of the Edit Menu is where you
select fonts and font size, turn wordwrapping on or off (ON is the default),
select tab width, and show or not show invisible characters. These settings are
remembered for each document and retained between launches. (Naturally, this is
a Mac.)
The “Format…” menu item calls a dialog for changing text font, text size,
and certain preferences. The “Show Invisibles” check box prints ‘¿’ for all
non-printing characters, ‘Δ’ for tabs, ‘¬’ for carriage returns, and ‘◊’
for spaces. Automatic word wrap can be turned off or on and made to occur
when text exceeds the width of the text’s window or a particular number of
characters (Line Length). This line length parameter is also used for the
“Hard Wrap to Length” item in the Convert Menu. The “Auto Indent” feature
will look at the preceding line, when word wrap is off, or paragraph, when
word wrap is on, and indent each new line to align with it. Clicking the
okay button (or typing the return or enter key) applies those settings to
the front window. Clicking the cancel button (or typing escape or
command-period) cancels the dialog and does not make any changes to the
front window. Clicking on the “All Files” button applies the settings to
the front window and saves them as default settings that will be applied to
all new windows and any foreign file that has not been previously opened by
PlainText, MPW, or Alpha.
Note that “Show Invisibles” is also a menu item that is equivalent in
to clicking the “Show Invisibles” check box in the Format dialog.
Find Menu
“Find, Replace…” implement the pretty standard and pretty intuitive search
and replace functions for text windows. The search string can be a
selection expression, that is, an expression that contains wildcards. (See
the “Selection Expression” section, below. Try a search using *menu as the
selection expression. Choose “Find…” and type “*menu” (without the quotes)
and click the “Selection Expression” radio button. Now click the Find
button (or hit the return key). See how a line containing “menu” has been
found? Command-G repeats the search.
If the selection expression is a number, it is interpreted as a line
number. Try 111 as a selection expression.
This line, the 111th in this window, will be selected.
If you hold down the shift key when you choose any of the Find menu items,
then the search will be in the reverse direction. This is handiest when
used in conjunction with the keyboard equivalents command-H and command-G.
“Cut Lines Containing…” and “Copy Lines Containing…” allow you to cut or
copy all lines, or paragraphs if word wrap is on, to the clipboard. Note that
there are command line equivalents, “cutline and “copylines” (see below).
Mark Menu
The Mark Menu handles two separate types of actions that can be used to
mark text. (1) Bookmarks can be set at points in the text that you want to be
able to jump back to. (2) Line numbers or other kinds of textual labelling
can be added to or removed from the begining of each line or paragraph.
The line numbering functions allow you to add or strip line or paragraph
numbers from your text. Interesting enough, it is also useful for adding or
removing characters to comment out blocks of computure code. Study the
“Numbering Parameters…” dialog. It does the simple things, like allowing you
to specify starting number and the numbering interval. It also allows you to
specify a prefix and suffix string to immediately precede and immediately
follow each line number and it allows three numbering modes: Arabic numerals,
Roman numberals (either upper or lower case), or an Alphabetic sequence (either
upper or lower case, such as A, B, C, … z, aa, ab, etc.). To switch numbering
style either delete all the characters of the “Starting Number” dialog item and
type in a new entry in the style you want (e.g. “xiv”) or repeatedly click on
the small style button to the right of the “Starting Number” dialog item.
Marks are like bookmarks that you can place in a text file so that you
can recall previous selections. When you select a mark from the Mark Menu,
the text corresponding to that mark is selected and the window scrolls to
show it. You can add new marks with the Mark menu item and remove them with
Unmark. You can alphabetize the order in which marks are displayed in the
Mark Menu by selecting the Alphabetize menu item. Selecting it again restores
the original order. Look at the Marks that I have made for this file by
opening the Marks Menu.
Window Menu
Stack and Tile Windows resize the windows in either a stack or tiled so
that each window is visible on the screen. The remaining menu items are a
catalog of open windows. The menu item for the front window is checked. The
target window is indicated by the bullet symbol (•). Windows whose changes
have not yet been saved to disk are underlined.
Convert Menu
This is a set of useful functions for converting or otherwise editing
text. These functions have been requested by users or was selected from
those I found myself using many times a day in Vantage, the desk accessory
editor that I used for years. The big, full-featured editors, like Pete
Keleher’s Alpha and BBEdit, by Rich Siegel, have these features, plus many
more, as well.
Strip Linefeeds is the way to convert an MS/DOS text file to the Mac
convention.
Strip Controls removes all characters with an Ascii code of 31 or less,
except carriage returns and tabs.
Form Paragraphs and Straight to Curly Quotes do what they say they do and
are indispensible for preparing text for pasting into a word processor.
Hard Wrap to Window and Curly to Straight quotes reverses those steps,
such as when you want to prepare text for e-mail.
The two Hard Wrap functions insert hard carriage returns at line ends,
where a line end is defined either by the width of the window (Hard Wrap to
Window) of the line length parameter set in the Format Dialog (Hard Wrap to
Length).
The “Strip Line Numbers” function will remove any leading digits in a
text file, and leading characters that conform to the currently selected
numbering convention (Arabac, Roman, or Alpha) and concatinations of the
latter with the prefix and suffix strings.
The last two menu items will sort lines or paragraphs in either ascending
or descending order. Marks remain correctly attached to the text they reference.
Typing Behavior
Besides being fast and able to handle even very large files, PlainText has
these built-in features:
1. Double-clicking selects a whole word. Note that double-clicking
the space after a word selects the preceeding word and the space.
This is a bug that is close enough to being a feature that I am
not fixing it.
2. Triple-clicking selects a whole line.
3. Double clicking on or just before a bracket or parenthesis (i.e.
“[”, “{”, etc.) causes all the text between the bracket or
parenthesis and its matching bracket or parenthesis to become
selected.
4. Cutting, pasting, and undoing are fully implemented.
5. The arrow keys work to move the insertion point or selection (hold
the shift key down) in the expected ways.
6. Command-option-uparrow moves the insertion point to the top of the
file. Command-option-downarrow does the opposite. Holding the shift
key down while doing either of these extends the selection to either
the top or bottom of the document.
7. Command-right arrow moves the insertion point to the end of the
current line. Option-right arrow moves the cursor by words. The left
arrow combinations work in the same way, of course, and holding the
shift key down with any of these combinations extends the selection.
This is the standard Macintosh use of the arrow keys.
8. It is a command-line interpreter in its own right. Simply type a
command that PlainText understands and then hit the enter (not
return) key. This will work in any text window.
The following commands can be executed from any text window:
ls (same as dir in DOS), cd (change directory), chcre (change file
creator), chtyp (change file type, copylines, cutlines, file, open,
find, line. “Open” opens the named file and makes it the front window.
File is similar except the window is made the target window (second
from front). “line n” selects selects the nth line of the target
window (n is a number. “Find exp” searchs the target window for the
string “exp.” If there are embedded spaces within the search string,
enclose it in double (") or single (') quotes. Enclosing the search
string with the right slash (/) will cause it to be interpreted as
a regular expression. (See “Selection Expressions,” below.) The same
rules apply for the search strings used for the "copylines" and
"cutlines" commands. If there is a standard set of lines, like
e-mail headers, that you need to remove from files on a regular
basis, save a list of appropriate cutlines commands in your work-
sheet.
In summary, hitting the enter key causes the current line or current
selection, whichever is smaller, to be interpreted as a command line.
Commands implemented:
cat f,f... An Untitled window is opened and each of the files
in the file list (f,f,...) is concatenated into it.
The file names can be separated by whitespace or
commas.
cd Change default directory (folder). Note, the Mac
file system uses the colon to designate the present
or higher folders. Thus “cd ::” changes the default
directory one level up.
chcre Change a file’s creator. For example,
chcre ‘MRPH’ ‘Current File’ makes PlainText the
creator of the file named ‘Current File.’
chtyp Change the file type of a file, using the same
syntax (chtyp type filename) as chcre.
copylines ss copy all lines containing the search string, ss.
cutlines ss cut all lines containing the search string
dump performs a hex dump of the target window’s selection
range.
fat2PPC ff if ff is the name of a fat binary application, then
powerPC version is created, named ff.PPC.
fat268k ff strips off the PowerPC code to make a fat binary a
68K Mac version.
file Open a file and make it the target
find ss Find a string in the target window
ls List a directory’s contents
ls -l Give a full listing of a directory’s contents
line nn Select line nn in the target window
open ff Open file named ff.
p nn Selects the nnth paragraph of the target window.
pwd Print current directory.
stats Prints the statistics of the target window
toolserver Launch ToolServer and use it for command-line
interpretation.
Target Window
Note that the “line” and “find” comands operate on the TARGET window. The
target window is the window behind the front-most window.
Large Files
PlainText must load its text files entirely into memory. If you get an
out-of-memory error message when trying to open a very large file, just
increase the partition (in the Finder’s Get-Info box for PlainText) to be
larger than the file being opened. In System 7, turn on virtual memory if
necessary.
Selection Expressions
PlainText implements a subset of the regular expressions as implemented in
unix and related to those implemented in MPW. The search string is interpreted
as a regular expresson when the “Selection Expression” radio button is
selected in the “Find and Replace” or “Cut/Copy Lines Containing” dialogs.
When ToolServer is being used, the full set of ToolServer selection
expressions is of course implemented in command-line commands.
The following is the native PlainText implementation:
Wildcards
* and ≈ (option-x) select any text from the beginning of a line or to
the end of a line.
? selects any single character.
Sets
Characters appearing between square brackets represents a set, any one
of which will be a valid match. Sets can include ranges. A range is
represented by two characters separated by a hyphen. They will match
any character with an ascii code within the range. Thus [0-9] (or [0-9])
will match any digit. [a-z] will match any lower-case letter. If the
“Case Sensistive” check box is off, the [a-z] is the same as [a-zA-Z].
Repeats
The plus sign (+) following any character or a set will match a sequence
of one or more of the preceeding set or character.
Special characters and escape
Any ascii code can be represented as a two-digit hex following the dollar
sign ($) or it’s equivalent on your international keyboard. Thus, $20 is
the space character and $0C is the formfeed character.
The backslash character is used to represent special characters and to
make interpretation of any following character literal.
\t tab
\r return ($0D)
\l linefeed ($0A)
\f formfeed ($0C)
and
\\ backslash
\[ right square bracket, etc.
Hex ($00) and backslash character codes are the only elements of the
selection expression syntax that can appear in the Replace string of
the “Find and Replace” dialog and then only if the “Selection Expression”
radio button is selected.
Fat Binary
Versions after 1.4 are distributed as a fat binary. That means they
contain both Motorola 680x0 and PowerPC native code. With two sets of binary
code, the fat binary file occupies about 140K more disk space than a PowerPC
or 680x0-specific version. If this is a handicap for you, you can strip either
the PowerPC native code or the 680x0 native code out, using the new command-
line commands fat2PPC or fat268k. Make a copy of PlainText and then type, for
example, fat268k 'PlainText copy' <enter>. A file, named 'PlainText copy.68k',
which has no PowerPC code, will appear on your disk. Rename it as you please.
ToolServer
PlainText will send all command-line commands to ToolServer after the
‘ToolServer’ command is given and ToolServer is available in your system for
launching. At its first use, PlainText will ask you to find ToolServer. After
that, it remembers the location between launches.
Bug Reports
Send comments and complaints to:
Mel Park
Associate Professor
Department of Anatomy and Neurobiology
University of Tennessee
855 Monroe Avenue
Memphis, TN 38163
(901) 448-5984
mpark@nb.utmem.edu
PlainText is free.
Revision History
0.4: Fixed Standard File System 6 incompatibilities.
0.5: Wordwrap is now the default.
Horizontal scroll bar occurs when it should.
Wordwrap to window correctly updates window.
Fixed Out of Memory problem with add linefeeds.
0.6: Worksheet is an option.
Added font scaling and changing.
Open, file, and line commands now work in System 6.
All text moved to resources so that PlainText can now be
internationalized.
0.7: Added Align, Shift Left, and Shift Right functions.
Fixed bug in which a strings just past the cursor were not
found in a forward search.
Open with option key down shows all files, not just text
files.
0.8: SaveAFile stores resources properly and no longer causes
crashes.
The Standard File dialog is no longer displayed twice for new
files.
Typing no longer overwrites the horizontal scroll bar.
Fixed some minor annoyances in v. 0.8a, like new windows coming
up with the wrong horizonal scroll bar and the cursor not being
erased when a window is deselected.
0.9: There were bad crashes after some combinations of “Returns to
Linefeeds” and Saves or Closes, due to an old bug in the Mac
Menu Manager. Fixed now.
Similar bug was causing the Edit Menu to disappear when “No
Worksheet” was selected.
Worksheet and non-worksheet windows open with or without a
Go-Away Box as they should.
Added partial support for extended keyboard (Undo, cut, paste,
copy, page up, page down).
In System 7, opening from the finder directs Standard File package
to proper directory.
Horizonal arrow keys work properly except anchor point not yet
implemented.
0.91: Extended keyboard fully implemented.
Fixed crashes due to Menu Manager bug.
1.0: Added entab and detab functions.
Added word wrap to line lengths
Added autoindent
These last required additions to Format dialog.
Horizontal arrow keys now have an anchor point.
Word wrap to window is default for foreign text files as well
as new ones.
Command-arrow key functions now update the scroll bars.
Fixed conditions that would could cause a window to forget
that it was dirty, with subsequent loss of most-recently
typed data.
Text inserted at end of a line now drawn properly.
Errors in calculating buffer length in this last condition
also fixed.
Blinking cursor no longer interferes with text.
Show Invisibles with proportional fonts now works properly.
Go-Away box appears when it should in all conditions.
Fixed System 6 bugs--can now open from finder.
Hiliting of selection range is now always in the right place.
Inserting text beginning with a carriage return used to foul up
the line starts array. This could cause a crash.
Crashes related to marks and selections beyond the text buffer
fixed.
1.1: Fixed crashes due to errors in writing resources.
This means that resource forks are no longer corrupted.
Word wrap to length now works for newly opened documents.
Marks stopped working in v.1.0. Fixed.
Text now updated after Tile or Stack Windows.
Scroll bars now properly hilited after Tile and Stack Windows.
1.2: Format and date in ls -l command now correct.
Searches for Entire Word now work.
All Clipboard window deficiencies fixed, i.e. it is now updated
as it should be after cuts and copies, Menus are properly
updated when this is the selected window, and the blinking
cursor is disabled.
In large files, the blinking cursor would be displayed as a long
vertical line when the window was scrolled more than 32K pixels
beyond the insertion point. Fixed.
Line length default really set to 75. This means that the “Word
Wrap to Length” menu item works from the very beginning.
Implemented “Revert to Saved.”
Fixed scrolling error when large blocks of text deleted.
1.2a: When word wrap is on, Autoindent indents paragraphs, not lines.
PlainText will now open documents on locked volumes.
Saving now always flushes files to disk with every Save, even if
it is a sleeping PowerBook disk.
Tile and Stack Windows now work properly when there is no
worksheet.
No longer asks to save a saved new document when quitting.
Short lines nolonger pirate* the up and down arrow key cursor
movements.
Shift and align improved to work on word-wrapped paragraphs.
1.2b: Marks now aligned after pasting text.
Will now print beyond 32K of text.
1.2c: Marks now updated after large selections of text deleted.
Will now print invisible characters and tabs.
1.2d: Added page numbers to printed page.
1.2.1: First non-beta release to public servers, i.e. Info-Mac.
Restored “File open in another application” alert.
In word wrap, adding or deleting text that caused rewrapping of
paragraphs with more than 32 lines used to blank part of the
window above the changed text. Fixed.
1.2.2 “Tile Windows” formally tiled the Worksheet window and not the
last text window. It now excludes the Worksheet from tiling.
Added support for a Preferences file for storing defaults.
Added the stats command-line option.
Added a four-pixel tick mark at the top of each window to indicate
the printed page width, minus 1” right and left margins.
Tabs now aligned when typing in the middle of a line.
1.2.3 1.2.2 introduced a bug that caused characters typed at the beginning
of an empty window to either not be draw are drawn in the wrong
position.
1.2.4 There was still misalignment when tabs were typed. Fixed.
Added chtyp and chcre commands.
The “Find Selection” menu item now activated for locked windows.
Added the “Strip Controls” menu item.
1.2.5 Fixed curor misplacement when typing returns at the end of a text
file with AutoIndent on.
Files without resource forks would not open. I think this bug also
caused drag-and-drop to fail for these files.
Fixed the sometimes garbled text in the confirmation dialogs.
Cut and paste now works in the Find and Replace dialogs.
“Revert to Saved” previously caused a scrolling error.
1.2.6 Deleting an entire file would not delete the file’s marks. Fixed.
Cursor initialized with each activate event.
1.2.7 “Save As…” and “Save A Copy…” will now replace an existing file in
the proper way.
Added “P” as the keyboard equivalent for printing.
1.2.8 Zooming is now to the best size for a text window and not full screen.
All other Apple guidelines for zooming now conformed to.
Scroll bars no longer drawn twice in zooming.
Stats command now works at all times.
New window opened to ideal size.
1.2.9 Fixed zooming bug introduced in 1.2.8 that caused crashes in System 6.
Several obscure coding errors turned up in using the MetroWerks
compiler. These were probably never seen by users.
1.2.9a Further fix of zooming bug. (Thanks to Bruce Craven and Joel Martin.)
1.3 Replace now doesn’t insert an extra character.
Dialog for find and replace now modeless (thanks to David Wright).
Strip Controls no longer deletes accented characters.
The line length parameter is saved.
Tabs to Spaces used to skip every other sequential tab.
Added “Cut/Copy Lines Containing” dialog.
1.3.1 Fixed version 1.3 crashes when closing the “Unmark…” dialog.
Implemented and fixed the full set of selection expressions.
1.3.2 Prior to this, the Find function would search past the end of text.
In some cases, this caused extra replacements in global search and
replace. That was benign. However, it caused fatal freezes in the
“Cut Lines Containing” function.
1.3.3 Added "cutlines" and "copylines" command-line equivalents.
Command-line searchs now use the right slash (/) to indicate that
the search string is a regular expression.
Added delay to page scrolling.
Cut and paste in Standard File dialog now uses proper scrap.
1.3.4 Special characters (e.g. \t or \r) in the Replace string were ignored
if not followed by one or more ordinary characters. Fixed.
When reopening a long document, the place in view was not the same as
the one when the document was closed. Fixed.
An already open document window is now brought to the front when
its icon is double clicked or it is selected in the “Open…” dialog.
When not using the Worksheet option, PlainText now opens a blank
untitled window upon launch.
1.3.5 Fixed bug that made wordwrapped documents open viewing a page or so
higher than when closed. This bug had also been causing wordwrapping
to be calculated twice when a document was opened.
Fixed error in opening foreign text files in which selection
highliting is wrong, or there are even crashes when shift-clicking
to select a region.
1.3.6 Previously, expression searches ignored the last character in a file.
Fixing this bug involved a general improvement of memory management
for PlainText and its TextEdit core code (TE32K.c).
Changing to “Word Wrap to Length” from no word-wrapping previously
caused an error in the horizontal scroll bar. (It was either absent
or set to the wrong values.)
Find now scrolls to position found text at the upper 1/3 of a window.
Read-only files now do not change the resource fork of file they open.
Also fixed some other logic errors that allowed read-only files to be
modified.
Scrap now converted at program launch.
1.3.7 Added more error checking when opening the worksheet window.
“Save As…” and “Save A Copy…” still had a bug. New windows were not
replacing existing files.
1.3.8 Fixed bug in which a new blank worksheet was not being created when
none existed before.
“Save As…” and “Save A Copy…” still had a bug. The fix in 1.3.7 re-
introduced the bug, fixed in 1.2.7, in which a file would not re-
place itself.
1.3.9 Supports hex characters in range searches (i.e. [$01-$1F]).
Regular expression searches now work in 24-bit mode.
Shift-click crashes that occured in new documents now fixed.
Arrow cursor now obscured when typing. The underlying improvements in
cursor handling probably fixed the conditions that sometimes made
PlainText very sluggish.
Active area of text windows enlarged on the left by three pixels. This
eases clicking to select the beginning of a line.
Scrap now passed to “Cut Lines Contianing” dialog.
Final condition where last-modified date changed with foreign text
files removed.
The line length parameter is now properly saved when the “All Files”
button in the “Format…” dialog is clicked.
Finds from the “Find and Replace” dialog now briefly hilite the found
selection. (Thanks to Steve Witt for this and other ideas.)
1.4 1.3.9 did not switch to arrow cursor when last document closed and for
some modal dialogs.
Compiled fat binary version.
Added defatting commands.
Placed command-line commands in a STR# resource.
Commands are no longer case sensitive.
Default window width on opening now the same for foreign files as for
new windows, i.e. the printed page width with 1" margins.
1.4.1 Rewrote DoMenu methods to make cursor control more logical. Arrow,
IBeam, and Watch cursors should now be displayed when they should.
Rewrote “Strip Controls” and other conversion routines to improve
speed.
Rewrote Marks and undo routines to be more logical. Mark menu was
being deleted after undo.
Fixed 1.4 bug that prevented multiple command-lines commands to be
executed.
Also fixed 1.4 bug that caused the Unknown-Command error dialog to be
displayed when there was no error.
Add and Strip Line Numbers and prefixes functions added.
Added line sorting.
Hard Wrap to Length and word wrapping to length no longer produce
lines of differing length.
Marks now properly updated after all Undoes and Convert Menu items.
Fixed bug that caused endless loop with “Copy Lines Containing” when
wrap around search was selected.
Insertions outside the visible window previously caused blank lines
or double lines to be drawn even though the text was okay.
Replace and cut functions now much faster. The screen is not scrolled
for every replace.
The Tabs/Spaces interconversion routines were rewritten to be faster,
be correct, and to correctly support undo and marks.
LF to CR and reverse conversions now recalculate line starts.
Added cut, copy, paste, and clear for columns.
1.4.2 Added support for ToolServer.
Fixed 1.4.1 bug of not redrawing window after a delete when insertion
point but not the selection range was outside the window.
Changed user interface paradigm for column editing by outlining the
selected column and removing the beeping.
In multiple-screen systems, one arrangement of monitors previously
lead to some windows being invisible upon opening.
1.4.3 Further fixed multiple-screen bug.
Added pwd command and fixed cd to behave like MPWToolServer Directory
command.
Added p command, implementing an important AppleEvents primitive.
Added “Show Invisibles” as a menu item.
Column Paste now works when there is a selection range in the target.
Fixed several bugs with column editing.
1.4.4 Fixed case in column editing when stray dotted lines were drawn.
Command-period now aborts ToolServer scripts.
The line number actions would not act on the last line selected if it
did not end in a return or was only partially selected.
1.5 Internal rewrite to restore object model to compliance for non-
PlainText apps. This also speeds up opening text documents.
PlainText no longer alters foreign files unless the user explicitly
Saves the file.
Foreign files now properly word-wrapped on opening.
Added cat command-line function.
Partial fix of “File Already Open” bug. Failure to complete the
opening of a file no longer leaves that file open. (1.5b2).
Added more diagnostic messages for when file opening fails (1.5b3).
Reset resource file used in all cases (1.5b4).
Scrollbars now properly updated after LF to CR and similar conversions.
Undo now works properly after sorting lines.
The “Shift Right” and “Shift Left” functions now work on the first
line of a document.
Added Drag and Drop support (except for column editing).
1.5.1 Finally found and fixed the Sean Peisert-reported bug: PlainText did
not open files with a file system reference number ending in hex
$00.
1.5.2 Vertical scroll bars now work if the number of lines in a file
exceeds 32K.
DragLib now hard linked into app.
Dragging a clipping or other foreign drag item back out of a
PlainText window no longer crashes.
Inserting single returns, as in Find and Replace, no longer invokes
autoindent.
Can now paste into Find & Replace dialog.
1.5.3 Fix reintroduced bug of not “Save a Copy…” not working.
1.5.4 Typing a key with no windows open no longer causes a crash.(1.5.3a)
Non-PlainText files now open with the cursor at the beginning of file.
(1.5.3a)
Changed sleep time in attempt to fix molasses mode bug.(1.5.3a)
Added dump command-line function. (1.5.3a)
Really fixed molasses mode bug. This should also fix the occasional
crashes reported when a key is typed, as in System 6.
Temporarily removed updating of marks in Add Linefeeds. It was
causing crashes. This routine will be rewritten.
Changed Menu labels for conversion routines.
1.5.5 Fixed two bugs in SaveAs: doing a SaveAs on a files with marks
would cause a crass and non-dirty files were not written to disk.
1.6 Changed list of file types the PlainText will open to a resource
('open' resource #128) and added 'ttro' (ReadMe files) to it.
Made the Find & Replace window a sizable, scrollable one.
Fixed memory leak in Strip Controls that could cause crashes.
Special characters (e.g. $0D and \t) now correctly interpreted in the
Replace string.
Caret now neve drawn in inactive windows.
Known bugs
Unbroken text (i.e. containing no spaces) is wrapped to window width.
Part of the Numbering Parameters… not properly redrawn on some Mac models.
Some fonts have letters that extend to the right of the insertion point
cursor. These can cause stray pixels to be drawn on the screen.
With Show Invisibles on, inserting CR at beginning of text is displayed
as if on 2nd line. The first line is not scrolled. Text is okay.
Insertion point placement after a tab not intuitive.
Tabs spaced differently, in some cases, with and without invisibles.
Features to be added:
Floating window for display of text stats.
Saving a default directory
Support of a complete AppleEvent suite and rationalization.
Thanks to Bruce Craven, Doug Dyment, Scott Gruby, Ralph Muha, Florin Neumann,
Robert J. Rockefeller, Michael O’Henly, Russel N. Owen, Sean Peisert, Michael
Rice, Ted Ripberger, Rich Siegel, Albert Silverman, Charlie Wilson, Steve Witt,
David Wright, and particularly to Rich Scarlet for their many helpful comments.
------------
* Geo-speak. A stream is pirated when its flow is diverted into a
neighboring water course.